from __future__ import annotations

from dataclasses import dataclass
from math import acos


@dataclass
class SheaveEnvelope:
    wrap_angle_deg: float
    two_side_angle_deg: float
    note: str


def sheave_wrap_angle(entry_angle_deg: float, exit_angle_deg: float) -> SheaveEnvelope:
    """滑车包络角与两侧线夹角（简化几何）。"""

    wrap = abs(exit_angle_deg - entry_angle_deg)
    two_side = 180.0 - wrap
    return SheaveEnvelope(wrap_angle_deg=wrap, two_side_angle_deg=two_side, note="包络角=进出差值")


